Date: Mon, 02 Dec 1996 14:34:07 GMT
Server: NCSA/1.4.2
Content-type: text/html

<HTML>
<head>
<title>CSE 341 Overview</title>
</head>

<body>
<h1>CSE 341 Administrivia & Useful Information</h1>


<strong>Instructor:</strong> <!WA0><!WA0><a href="http://www.cs.washington.edu/homes/leveson">Nancy Leveson</a> <br>
Office: Sieg 219 <br>
e-mail: leveson@cs <br>
phone: 685-1934 <br>
Office Hours:  Wednesday 3-5 (or by appointment)

<P>

<strong>Teaching Assistant: </strong><!WA1><!WA1><a href="http://www.cs.washington.edu/homes/echris">E Christopher Lewis</a><br>
e-mail: echris@cs<br>
Office Hours: Monday 12:30-1:20 and (temporarily) Wednesday 9:30-10:20 in Sieg 326D

<P>
<HR>
<P>

<h3>Class Meetings</h3>

Lectures, MWF 1:30-2:20, EEB 108 

<P>

Quiz AA, TTh 8:30-9:20 Lowe 222 <BR>
Quiz AB, TTH 9:30-10:20 MEB 243 

<P>

</ul>

<hr>
<h3>Handouts, overheads, etc.</h3>
<ul>


<lI> <!WA2><!WA2><a HREF="http://www.cs.washington.edu/education/courses/341/autumn96/oh1.ps">History Overheads</a>
<li> <!WA3><!WA3><a HREF="http://www.cs.washington.edu/education/courses/341/autumn96/assembler.ps">Assembly Language Example</a>
<li> <!WA4><!WA4><a HREF="http://www.cs.washington.edu/education/courses/341/autumn96/oh2.ps">General Overheads</a>
<li> <!WA5><!WA5><a HREF="http://www.cs.washington.edu/education/courses/341/autumn96/oh3.ps">Simple Data Types</a>
<li> <!WA6><!WA6><a HREF="http://www.cs.washington.edu/education/courses/341/autumn96/oh4.ps">Abstraction and Encapsulation</a>
<li> <!WA7><!WA7><a HREF="http://www.cs.washington.edu/education/courses/341/autumn96/mt2-review.ps">Study Questions for Midterm 2</a>
<li> <!WA8><!WA8><a HREF="http://www.cs.washington.edu/education/courses/341/autumn96/control.ps"> Control Overheads (partial)</a>
<li> <!WA9><!WA9><a HREF="http://www.cs.washington.edu/education/courses/341/autumn96/contour.ps"> Contour Model Handout</a>
<li> <!WA10><!WA10><a HREF="http://www.cs.washington.edu/education/courses/341/autumn96/stack.ps"> Stack Model Handout</a>
<li> <!WA11><!WA11><a HREF="http://www.cs.washington.edu/education/courses/341/autumn96/side-effects.ps"> Side Effects </a>
<li> <!WA12><!WA12><a HREF="http://www.cs.washington.edu/education/courses/341/autumn96/scheduled.ps"> Scheduled Procedures</a>
<li> <!WA13><!WA13><a HREF="http://www.cs.washington.edu/education/courses/341/autumn96/coroutines.ps"> Coroutines</a>
<li> <!WA14><!WA14><a HREF="http://www.cs.washington.edu/education/courses/341/autumn96/tasking.ps"> Tasks</a>
<li> <!WA15><!WA15><a HREF="http://www.cs.washington.edu/education/courses/341/autumn96/aliasing.ps"> Aliasing</a>
<li> <!WA16><!WA16><a HREF="http://www.cs.washington.edu/education/courses/341/autumn96/parameters.ps"> Parameter Passing</a>
<li> <!WA17><!WA17><a HREF="http://www.cs.washington.edu/education/courses/341/autumn96/exceptions.ps"> Exception Handling</a>

</ul>

<h3>Programming Resources</h3>
<ul>

<lI> <!WA18><!WA18><a HREF="http://www.cs.washington.edu/education/courses/341/autumn96/languages/scheme">Scheme/Lisp Resources</a></li> 
<li> <!WA19><!WA19><a HREF="http://www.cs.washington.edu/education/courses/341/autumn96/languages/prolog">Getting Started with Prolog</a></li> 
<li> <!WA20><!WA20><a HREF="http://www.cs.washington.edu/education/courses/341/autumn96/languages/java">Java Resources</a></li> 
</ul>
 
<hr>

<h3>Programming Assignments</h3>
<ul>

<lI> <!WA21><!WA21><a HREF="http://www.cs.washington.edu/education/courses/341/autumn96/programming_assignments/scheme.html">Scheme/Lisp
Programming Assignment</a> (<!WA22><!WA22><A
HREF="http://www.cs.washington.edu/education/courses/341/autumn96/programming_assignments/scheme_soln.html">solution</a>)</li>
<lI> <!WA23><!WA23><a HREF="http://www.cs.washington.edu/education/courses/341/autumn96/programming_assignments/prolog.html">Prolog
Programming Assignment</a> (<!WA24><!WA24><A
HREF="http://www.cs.washington.edu/education/courses/341/autumn96/programming_assignments/prolog_soln.html">solution</a>)</li>
<lI> <!WA25><!WA25><a HREF="http://www.cs.washington.edu/education/courses/341/autumn96/programming_assignments/java.html">Java
Programming Assignment</a> (<!WA26><!WA26><A
HREF="http://www.cs.washington.edu/education/courses/341/autumn96/programming_assignments/java_soln.html">solutions/notes</a>)</li>
</ul>
 
<hr>

<h3>Written Assignments</h3>
<ul>

<li> <!WA27><!WA27><a HREF="http://www.cs.washington.edu/education/courses/341/autumn96/assign1">Homework Assignment 1</a>
<li> <!WA28><!WA28><a HREF="http://www.cs.washington.edu/education/courses/341/autumn96/assign2">Homework Assignment 2</a>
<li> <!WA29><!WA29><a HREF="http://www.cs.washington.edu/education/courses/341/autumn96/assign3">Homework Assignment 3</a>
<li> <!WA30><!WA30><a HREF="http://www.cs.washington.edu/education/courses/341/autumn96/assign5.ps">Homework Assignment 4</a>
<li> <!WA31><!WA31><a HREF="http://www.cs.washington.edu/education/courses/341/autumn96/assign6.ps">Homework Assignment 5</a>
<li> <!WA32><!WA32><a HREF="http://www.cs.washington.edu/education/courses/341/autumn96/assign4.ps">Homework Assignment 6</a>

</ul>

<h3><!WA33><!WA33><a href="http://www.cs.washington.edu/education/courses/341/autumn96/misc/proj.html">Programming Language Research Paper</a></h3>


<H3>Description</H3>

This is a course in the design of programming languages.  It will teach
you <em> about </em> programming languages rather than teach you how to program
in several languages. We will do some programming, but primarily to give 
you some experience in programming with very different paradigms than most 
of you have used before.  By the end of the course, you should know enough 
about programming languages in general that you will be able to pick up new 
languages easily, be able to evaluate alternative languages and select 
the most appropriate one to use, and use most languages more effectively.

You might note that 341 this quarter will be taught somewhat differently
than it has in the past.  If you prefer the other style (see the past course
descriptions on the web), you should consider taking it instead in the winter
or spring.

<P>

Prerequisite: CSE 143 (either the C++ or the Ada version)
<P>


<h3>Text</h3>

<UL>
<LI> Pratt and Zelkowitz, <em>Programming Languages: Design and
     Implementation </em>, Prentice Hall, 1996.
</UL>

This book is brand new so you won't be able to get used copies. The upside
is that it is very up to date.

<P>

<h3>Use of World Wide Web</h3>

We will make frequent use of the World Wide Web to post information, 
homework assignments, and so forth.  Lecture notes for the different
topics will be distributed in hardcopy form, but will also be stored in the
class web.  (If there are corrections, these will be made in the online
version.)  Other material may be distributed in electronic form only.  The 
home page for 341 is 
<code>http://www.cs.washington.edu/education/courses/341</code>.
You can also reach this page from the CSE departmental home page via
"Education (webs)" then "CSE 341".


<P>

<h3>Computing Resources</h3>

We will use the new PC lab in Sieg 232 for Lisp and (probably) Visual 
Basic, and the MSCC machines for Prolog.  You can also run Lisp on the 
MSCC machines (do this
if you want to work from home; otherwise the PC implementation should be
much faster).  Information regarding how to use the PC's will be given out
in quiz sections.  For the MSCC machines, it will probably be most
convenient to access these from the CSE terminals over the network using
rlogin or telnet to <code>hilbert.ms.washington.edu</code>.  Alternatively,
you can use the X terminals in room 9 of Thompson Hall.

<P> 

In addition to putting information in the web, for urgent mail we will
sometimes send e-mail directly to the class mailing list -- so please check
your e-mail regularly on the departmental instructional machines, or set up
a <code>.forward</code> file to forward your mail to another machine.

<P>

<h3>Assignments and Grading</h3>

You will have a variety of types of assignments.  There will be written
assignments on the lectures and textbook and small programming assignments
on the languages taught in the quiz sections.  There will also be a short
paper on another language (described below) that you will present to the
class.  In addition, there will be two midterms and a final exam.  The 
grades will be calculated as follows:

<P>
40%  midterms (20% each) <br>
25%  final <br>
15%  written and programming assignments <br>
20%  short paper 
<P>

Individual grades may vary slightly, based on effort, contribution to class
and section, etc.  

<P>
Although I am not making it a requirement, I strongly suggest that you
create a glossary of terms to help you study and prepare for the exams.
The terms and concepts you should include are those that are italicized
throughout the book.  The exams will ask you to define, compare and 
contrast, and use or apply concepts in order to ensure you understand
them.

<P>
You will also be required to come in to talk to me for 15 minutes some 
time during the quarter, either during my office hours or by arrangement
at a different time.  I recommend that you do this early in the quarter
because it's harder to schedule a time at the end.  This meeting is
simply to allow us to get to know each other better and for me to get
feedback on how the class is going.  

<P>

<h3>Late Assignments and Incompletes</h3>

Assignments are due in quiz sections or in lectures, depending on who
assigns it.  If you write answers out by hand, please make sure it's 
legible.  Write your name and quiz section time on the assignment.  Late
written assignments will not be accepted as the answers will be discussed
in the lecture or quiz section.  Late programming assignments will be marked 
down as follows:

<P>
25% off -- up to 1 day late <br>
50% off -- up to 2 days late <br>
75% off -- up to 3 days late 

<P>

"25% off" means that 25% of the maximum possible score is taken off of the
score for the late assignment.  "Up to 1 day late" means up to the time of
the quiz section on the day following the day the assignment was due, and
so forth.  Given that each assignment will not count a lot toward your
grade, it may be better just to turn in what you have at the time it is due.

<P>

<h3>Short Paper </h3>
Teams of two people will each take a language and (1) summarize it 
according to its basic features (as been done for the languages in 
Section 2 of the textbook, i.e., History, Hello World, Brief Overview, 
Data Objects, Sequence Control, Subprograms and Storage Management, and 
Abstraction and Encapsulation) and (2) evaluate it with respect to 
criteria that I will describe in class. 

Each group will write a paper on a different language.
For the last two weeks of the quarter, we will have class presentations of
what you have written.  Although the written version of your paper will be
due on the last class meeting of the quarter, you will need to have the
material collected and organized by December 2 in order to give your class
presentation.

<P>

<h3>Lecture, Quiz Section, and Reading Schedule</h3>

The <!WA34><!WA34><a href="http://www.cs.washington.edu/education/courses/341/autumn96/schedule.ps"
 ><b> lecture schedule</b></a> is only approximate, but this is close.  In the quiz
sections you will learn enough about several languages to write simple programs
in them and also will review the material in Part 2 of the book (Chapters 10-14).
We will provide more information about the quiz section schedule and assignments 
at the beginning of class.

<P>

</body>
</html>
